"""
    姓名 :  新  哥
    时间 : 2022/6/27 上午 11:07
    文件名 : test02_open_account.py
    需求：
    
"""
import requests

from API.open_account_api import OpenAccountApi
from API.reg_login_api import RegLoginApi
from common.utils import common_assert, html_util


class TestOpenAccount(object):

    def setup(self):
        # 创建session对象
        session = requests.session()
        # 实例化封装接口请求的类
        self.reg_login_api = RegLoginApi(session)
        self.open_account_api = OpenAccountApi(session)

    # 实名认证测试用例
    def test01_realname(self):
        # 实现登录接口
        self.reg_login_api.user_login("13419876880","qqq123")
        # 实现实名认证接口
        resp = self.open_account_api.realname('张三三','450102199003078798')
        # 基础断言
        common_assert(resp,200,200,"成功")
        # 数据断言
        assert "450****798"== resp.json().get("data").get("card_id")
        assert "张**" ==  resp.json().get("data").get("realname")

    # 开户测试用例
    def test02_open_account(self):
        # 实现登录接口
        self.reg_login_api.user_login("13419876880", "qqq123")
        # 实现开户接口
        resp = self.open_account_api.open_account()
        # 断言
        common_assert(resp,200,200,"form")

    # 第三方开户测试用例
    def test03_third_open_account(self):
        # 实现登录接口
        self.reg_login_api.user_login("13419876880", "qqq123")
        # 实现开户接口
        open_account = self.open_account_api.open_account()
        # 实现第三方开户接口
        data_list = html_util(open_account)
        url = data_list[0]
        form_dict = data_list[1]
        # 第三方开户测试用例
        resp = self.open_account_api.third_open_account(url,form_dict)
        # 断言
        assert 200 == resp.status_code
        assert "OK" in resp.text
